package field

import "yunj/pkg/yunj/core/builder/form"

// 分割线
type Line struct {
	form.Field
}

func NewLine(id string, desc ...string) *Line {
	f := &Line{}
	form.SetFieldInstance(&f.Field, f)
	f.SetFieldId(id)
	if len(desc) > 0 {
		f.SetDesc(desc[0])
	}
	return f
}

// 设置字段描述
func (f *Line) SetDesc(desc string) *Line {
	f.Desc = desc
	return f
}

// 设置栅格布局
// 超小屏幕(手机<768px)、小屏幕(平板≥768px)、中等屏幕(桌面≥992px)、大型屏幕(桌面≥1200px)、超大屏幕(桌面≥1400px)
// 总列数：12
func (f *Line) SetGrid(num ...any) *Line {
	f.Grid = num
	return f
}

// 设置字段权限
func (f *Line) SetAuth(auth string) *Line {
	f.Auth = auth
	return f
}

// 处理字段属性
func (f *Line) HandleAttr() error {
	f.Readonly = true
	return nil
}
